Cloud computing is a type of computing in which dynamically scalable and typically virtualized resources are provided as services via the Internet. As a result, users need not, and typically do not, possess knowledge of, expertise in, or control over the technology and/or infrastructure implemented in the cloud. Cloud computing generally incorporates infrastructure as a service (“IaaS”), platform as a service (“PaaS”), and/or software as a service (“SaaS”). In a typical embodiment, cloud computing services provide common applications online, which applications are accessed using a web browser and the software and data for which are stored on servers comprising the cloud.
Cloud computing customers typically do not own or possess the physical infrastructure that hosts their software platform; rather, the infrastructure is leased in some manner from a third-party provider. Cloud computing customers can avoid capital expenditures by paying a provider for only what they use on a utility, or resources consumed, basis or a subscription, or time-based, basis, for example. Sharing computing power and/or storage capacity among multiple lessees has many advantages, including improved utilization rates and an increase in overall computer usage.
With the recent advances in network bandwidth, Internet and cloud computing environment assets, or resources, are becoming more and more accessible and will in all likelihood eventually possess greater capabilities than desktop systems. With bandwidths of over 10 Gb per second, assets deployed in a cloud computing environment and on the Internet will be available at speeds rivaling those of local desktop and laptop systems. During the early days of computer development, computing engineers implemented “handshakes” between the various components of a computing system. For example, memory cards used a positive handshake to indicate when addresses and data were safe to read and write on the address and data buses. As technology has matured, handshakes have been set aside in favor of clocking systems, in which it is safe to assume that all data and addresses have settled upon expiration of a predetermined number of clock intervals.